package cn.fintecher.pangolin.service.business.model.response;

import cn.fintecher.pangolin.common.enums.ApplyFileContent;
import cn.fintecher.pangolin.common.enums.ApprovalResult;
import cn.fintecher.pangolin.common.enums.ApprovalStatus;
import cn.fintecher.pangolin.common.enums.FlowType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import java.util.Date;

/**
 * @Author wangxiangdong
 * @Description 留案案件response
 * @Date 2019/9/27 16:23
 **/
@Data
public class ProcessApproveResponse {

    @ApiModelProperty("案件ID")
    private String caseId;

    @ApiModelProperty("批次号")
    private String batchNumber;

    private String caseNumber;

    @ApiModelProperty("客户姓名")
    private String personalName;

    @ApiModelProperty("委托方")
    private String principalName;

    @ApiModelProperty("身份证号码")
    private String certificateNo;

    @ApiModelProperty("申请类型")
    private FlowType flowType;

    @ApiModelProperty("申请人姓名")
    private String applyName;

    @ApiModelProperty("申请时间")
    private Date applyDate;

    @ApiModelProperty("申请说明")
    private String applyRemark;

    @ApiModelProperty(notes = "申请信息id")
    private String processApplicationId;

    @ApiModelProperty(notes = "当前节点id")
    private String processFlowNodeId;

    @ApiModelProperty("调取材料的内容")
    private ApplyFileContent applyContent;

    @ApiModelProperty("审批状态")
    private ApprovalStatus approvalStatus;

    @ApiModelProperty("审批结果")
    @Enumerated(EnumType.STRING)
    private ApprovalResult approvedResult;

    @ApiModelProperty("减免金额")
    private Double derateAmount;

    @ApiModelProperty("实际减免金额")
    private Double derateRealAmount;

    @ApiModelProperty(notes = "审批意见")
    private String remark;

    @ApiModelProperty("审批节点值")
    private Integer nodeValue;

    /**  协催申请信息 **/
    @ApiModelProperty("协催地址")
    private String addressDetail;

    @ApiModelProperty("地址类型")
    private String addressType;

    @ApiModelProperty("关系")
    private String relation;

    @ApiModelProperty("申请留案到期日期")
    private Date endCaseDate;

    @ApiModelProperty("外访开始时间")
    private Date visitTimeStart;

    @ApiModelProperty("外访结束时间")
    private Date visitTimeEnd;

    @ApiModelProperty("地址Id")
    private String personalAddressId;

    @ApiModelProperty("联系电话Id")
    private String personalContactId;

    @ApiModelProperty("催收员姓名")
    private String collectorName;

    @ApiModelProperty("催收员ID")
    private String collectorId;

    @ApiModelProperty("信函模板ID")
    private String letterTempId;

    @ApiModelProperty("材料Id")
    private String fileId;

}
